1. Technical Field
The present invention relates generally to an improved data processing system and in particular, to a method and apparatus for providing a user interface in a data processing system. Still more particularly, the present invention provides a method and apparatus for providing information to a user for understanding a user interface in a data processing system.
2. Description of Related Art
An important characteristic of modern computing systems is the interface between a user and the computer. Early interactive interfaces were text based wherein a user communicated with the computer by typing a sequence of characters on a keyboard and the computer communicated with the user by displaying characters on an output devicexe2x80x94commonly a display screen. These input characters specified a command to the computer""s operating system or to an application program executing on the computer. This command is invoked program logic to perform a given operation. Modern computer systems use a graphical user interface (GUI) to simplify the interaction between a user and a computer. A GUI equipped computer communicates with a user by displaying graphics, including text and icons, on a display screen and the user communicates with the machine both by typing in textual information in response to dialogs and by manipulating the displayed icons with a pointing device, such as a mouse.
Many modern GUIs provide a window environment. In a typical window environment, the graphical display portrayed on the display screen is arranged to resemble the surface of an electronic xe2x80x9cdesktopxe2x80x9d and each application program running on the computer is represented as one or more electronic xe2x80x9cpaper sheetsxe2x80x9d displayed as rectangular regions on the display screen. These rectangular regions are called xe2x80x9cwindowsxe2x80x9d. Each window may include a multitude of panes. Each pane being an area for a particular type of information (textual, still image, moving image, etc.).
Each window displays information generated by an associated application or system program. Further, several windows may be simultaneously present on the desktop with each containing information generated by a program. A program presents information to the user through each window by drawing or xe2x80x9cpaintingxe2x80x9d images, graphics or text within the window. The user also can move a window to a different location on the display screen and change its size and appearance to arrange the desktop in a convenient manner. The user communicates with the program by xe2x80x9cpointing atxe2x80x9d objects displayed in the window with a cursor controlled by a pointing device and manipulating, e.g. clicking, dragging, and dropping, the objects as desired. In some cases, the program requests additional information from the user in response to a manipulation. This request is presented as a xe2x80x9cdialogxe2x80x9d that allows the user to provide the requested information to the dialog from the keyboard.
In this type of graphical user interface, applications often allow for users to define or alter the interface to the applications. For example, an application interface for a word processing program may include application features, such as buttons on a tool bar for functions or drop down menus for functions accessible by the user. These functions include, for example, print, copy, cut, new document, save file, and font type. Typically, an application will provide a standard application interface, which may be customizable by a user. Many of these applications allow a user to add or remove application features from a tool bar or drop down menu in the application.
For example, some applications provide the ability to define an interface for a user or a group of users based on a business rule. As a result, the application interface for each group of users is likely to be different. For example, an asset administrator using this product has an application interface, the tool bar and menu bar, containing only asset related application functions. A problem analyst does not require asset related functions and only needs an application interface that contains functions related to tracking and solving user reported problems.
User guides are generally provided with applications so that users are able to quickly obtain information about different application features. User guides for these applications are only provided in soft copy only. Hard copy user guides are no longer present. In many cases, all user information is converted from hard copy documentation to HTML form in newer-releases of applications. Currently, user guides contain information for all application features regardless of whether those features are currently being used by a particular user. As a result, a user is required to browse through the user guide to find information for application features that are currently enabled or selected for use. The problem is further compounded because a hard copy user guide for the user to browse through is no longer available. If the user does not know how to reach a particular interface for a feature in the soft copy, then no way is present for the user to access the on-line help. For example, much of the on-line help is accessed from the dialog by pressing the F1 key. That means that without this invention, the user may not know how to get to the dialog to invoke the on-line help.
Therefore, it would be advantageous to have an improved method and apparatus for creating user guide documentation to summarize application functions available to a particular user or group of users.
The present invention provides a method and apparatus in a data processing system for generating a user guide for an application in which application features are customizable through user input. Application features are identified from a profile for currently available application features. A set of documents is located providing user guide information for the currently available application features. A document is generated containing links to the set of documents. Further, the document may include graphical representations of icons or menu entries associated with application features through the user input.